using System;
using System.Collections.Generic;
using System.Text;

namespace PocketLibrary
{
    public interface IStorage : IService
    {
        string UserName { get; }
        string Password { get; }

        IStorageItem ItemId { get; }
        string FilePath { get; set; }

        void Login();
        void DownloadFile();
        void UploadFile();
        void DeleteItem();
        void RenameItem();
        void ListItems();
        void ListItems(IStorageItem item);

        void UpdateItems(List<IStorageItem> items);

        event EventHandler LoginSuccess;
        event EventHandler LoginFailed;
        event EventHandler<IItemListArgs> ItemList;
        event EventHandler<FileTransferArgs> FileProgress;
    

    }

    public class IItemListArgs : EventArgs
    {
        public List<IStorageItem> Items { get; set; }
        public IItemListArgs(List<IStorageItem> items)
        {
            this.Items = items;
        }
    }

}
